The present invention relates generally to data communications. More particularly, the present invention relates to a priority scheme for control traffic in network switches.
In modern network devices such as network switches and routers, it is necessary to prioritize control traffic in order to avoid over-burdening the processors of the network devices, and to ensure the most important control traffic reaches the processors first. One conventional scheme is to use a rule-based classifier to pass control packets received by a network device to its processor in order of importance, as described below with respect to FIGS. 1 and 2.
FIG. 1 shows a conventional data communications system 100 comprising conventional network devices 102 and 104 such as network switches connected by a network 106 such as the Internet. Network device 102 comprises a control plane processor (CPP) 108 and a forwarding engine 110 comprising one or more ports 112. Network device 104 comprises a CPP 114 and a forwarding engine 116 comprising one or more ports 118, a classifier 120, a plurality of queues 122, and a scheduler 124.
FIG. 2 shows a conventional process 200 for data communications system 100. FIG. 2 shows a process 200 for data communications system 100 according to a preferred embodiment. CPP 108 in network device 102 generates a packet of data that is to be sent to CPP 114 in network device 104 (step 202). Such packets are referred to herein as “control packets” because they are exchanged between control plane processors to control data communications system 100. Port 112 of network device 102 then transmits the control packet to network 106 (step 204).
Port 118 of network device 104 receives the control packet from network 106 (step 206). Classifier 120 enqueues the control packet to one of queues 122 according to a set of sequentially-executed predetermined rules, as is well-known in the relevant arts (step 208). Each queue 122 is associated with one or more of the priorities in the priority scheme. Scheduler 124 passes the control packets from queues 122 to CPP 114 according to a scheduling scheme (step 210).
However, the use of classifiers to perform packet classification has several disadvantages. Because fast classifiers consume considerable silicon resources, it is expensive to add a classifier to a design. Of course, the design may already include a classifier for other purposes. But such a classifier usually has a limited number of rules available. Therefore using such a classifier to classify traffic to the CPP reduces the number of rules available to the user. Finally, for some control packets, the classification method to identify specific control packets may be so complex that it is beyond the capabilities of the classifier.